package cn.wolfcode.feign;

import cn.wolfcode.domain.Product;
import cn.wolfcode.feign.fallback.ProductFeignFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @Author: 普发忠
 * @Date: 2021/10/28/15:26
 */
@FeignClient( name = "product-service",fallback = ProductFeignFallBack.class)
public interface ProductFeignApi {
    /*
     * @Author: 普发忠
     * @Date: 2021年10月28日  15时:28分:43秒
     * product-service 服务中开放的Api接口
     * 规则:
     * 1 方法名称尽量相同 主要靠/product/{pid}找
     * 2 方法参数 必须有注解（） 返回值可以没注解
     * @PathVariable 路径变量
     * @RequestParam  参数不是实体类
     * @RequestBody 实体类
    */
    @RequestMapping("/product/{pid}")
    public Product findByPid(@PathVariable("pid") Long pid);
}
